/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package proyecto1;

import java.util.Calendar;

/**
 *
 * @author grupo
 */
public class Actividad {

    private String descripcion;
    private Calendar fechaPropuestaConclusion;
    private Calendar fechaRealConclusion;
    private boolean activa;

    /**
     *
     * @param pDescripcion
     * @param pPropuesta
     * @param pReal
     */
    public Actividad(String pDescripcion, Calendar pPropuesta, Calendar pReal) {
        setDescripcion("");
        setFechaPropuestaConclusion(pPropuesta);
        setFechaRealConclusion(pReal);
        setActiva(true);

    }

    /**
     *
     * @param pDescripcion
     * @param pfechaPropuesta
     */
    public Actividad(String pDescripcion, Calendar pfechaPropuesta) {
        setDescripcion(pDescripcion);
        setFechaPropuestaConclusion(pfechaPropuesta);
        setActiva(true);

    }

    /**
     *
     */
    public Actividad() {
        this("", Calendar.getInstance(), Calendar.getInstance());
    }

    /**
     * @return the getDescripcion
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * @return the fechaPropuestaConclusion
     */
    public Calendar getFechaPropuestaConclusion() {
        return fechaPropuestaConclusion;
    }

    /**
     * @return the fechaRealConclusion
     */
    public Calendar getFechaRealConclusion() {
        return fechaRealConclusion;
    }

    /**
     * @return the activa
     */
    public boolean isActiva() {
        return activa;
    }

    /**
     * @param descripcion the setDescripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    /**
     * @param fechaPropuestaConclusion the fechaPropuestaConclusion to set
     */
    public void setFechaPropuestaConclusion(Calendar fechaPropuestaConclusion) {
        this.fechaPropuestaConclusion = fechaPropuestaConclusion;
    }

    /**
     * @param fechaRealConclusion the fechaRealConclusion to set
     */
    public void setFechaRealConclusion(Calendar fechaRealConclusion) {
        this.activa = false;
        this.fechaRealConclusion = fechaRealConclusion;
    }

    /**
     * @param activa the setActiva to set
     */
    private void setActiva(boolean activa) {
        this.activa = activa;
    }
    
    /**
     *  
     * @return 
     */
    public boolean isActividadEfectiva()
    {
        if(fechaRealMenorIgualPropuesta() )
        {
            return true;
        }else
        {
            return false;
        }
    }
    
    private boolean fechaRealMenorIgualPropuesta()
    {
        int anioPropuesto = fechaPropuestaConclusion.get(Calendar.YEAR);
        int mesPropuesto = fechaPropuestaConclusion.get(Calendar.MONTH);
        int diaPropuesto = fechaPropuestaConclusion.get(Calendar.DATE);
        
        int anioReal = fechaRealConclusion.get(Calendar.YEAR);
        int mesReal = fechaRealConclusion.get(Calendar.MONTH);
        int diaReal = fechaRealConclusion.get(Calendar.DATE);
        
        if((anioReal <= anioPropuesto) && (mesReal <= mesPropuesto) && (diaReal <= diaPropuesto))
        {
            return true;
        }else{
            return false;
        }
    }
}
